const path = require("path");
const fs = require("fs");

function getLocalDataFile() {
  let localDataFile = process.env.HOME;
  if (!localDataFile) {
    localDataFile = process.env.LOCALAPPDATA;
  }
  return localDataFile;
}

const configPath = path.join(getLocalDataFile(), "./rubick-system-clipboard.json");

global.clipboard_data = {
  config: {
    records: [],
    status: false
  },
  get() {
    try {
      if (!global.clipboard_data.config.records.length) {
        global.clipboard_data.config = JSON.parse(fs.readFileSync(configPath, "utf8") || JSON.stringify( {
          records: [],
          status: false
        }));
      }
      return global.clipboard_data.config;
    } catch (e) {
      global.clipboard_data.config = {
        records: [],
        status: false
      };
      return global.clipboard_data.config;
    }
  },
  set(value) {
    global.clipboard_data.config = {
      ...global.clipboard_data.config,
      ...value,
    };
    fs.writeFileSync(configPath, JSON.stringify(global.clipboard_data.config));
  },
};
